<!DOCTYPE HTML>
<html>
<head>
<title>#InstallKeybdHook | AutoHotkey</title>
<meta name="description" content="The #InstallKeybdHook directive forces the unconditional installation of the keyboard hook." />
<meta name="ahk:equiv-v2" content="commands/InstallKeybdHook.htm" />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

<h1>#InstallKeybdHook</h1>

<p>强制无条件安装键盘钩子.</p>

<pre class="Syntax"><span class="func">#InstallKeybdHook</span></pre>
<h2 id="Remarks">备注</h2>
<p>使用键盘钩子监视键击是为了激活不受 RegisterHotkey(这是操作系统内置的功能) 支持的<a href="Hotstrings.htm">热字串</a>和键盘<a href="../Hotkeys.htm">热键</a>. 它还支持其他一些功能, 例如 <a href="Input.htm">Input</a> 命令.</p>
<p>AutoHotkey 不会无条件安装键盘和鼠标钩子, 因为它们合起来至少占用 500 KB 的内存. 因此, 一般只有在脚本包含下列的其中一种情况时才会安装键盘钩子: 1) <a href="Hotstrings.htm">热字串</a>; 2) 一个或多个需要键盘钩子的<a href="../Hotkeys.htm">热键</a>(大多数不需要); 3) <a href="SetNumScrollCapsLockState.htm">SetCaps/Scroll/NumLock AlwaysOn/AlwaysOff</a>; 4) <a href="Input.htm">Input</a> 命令, 在首次实际使用时安装钩子.</p>
<p>与之相比, 使用 #InstallKeybdHook 指令会无条件安装键盘钩子, 这样可以用来在 <a href="KeyHistory.htm">KeyHistory</a> 中显示最近的 20 次键击(便于调试), 或避免使用 <a href="_HotkeyModifierTimeout.htm">#HotkeyModifierTimeout</a>.</p>
<p>您可以通过 <a href="KeyHistory.htm">KeyHistory</a> 命令或菜单项判断脚本是否使用了钩子. 您可以通过 <a href="ListHotkeys.htm">ListHotkeys</a> 命令或菜单项判断哪个热键使用了钩子.</p>
<p>此指令还会让脚本变成<a href="_Persistent.htm">持续运行的</a>, 这意味着应该使用 <a href="ExitApp.htm">ExitApp</a> 结束脚本.</p>
<p>和其他指令一样, #InstallKeybdHook 不能有条件地执行.</p>

<h2 id="Related">相关</h2>
<p><a href="_InstallMouseHook.htm">#InstallMouseHook</a>, <a href="_UseHook.htm">#UseHook</a>, <a href="Hotkey.htm">Hotkey</a>, <a href="Input.htm">Input</a>, <a href="_Persistent.htm">#Persistent</a>, <a href="KeyHistory.htm">KeyHistory</a>, <a href="../Hotstrings.htm">热字串</a>, <a href="GetKeyState.htm#function">GetKeyState()</a>, <a href="KeyWait.htm">KeyWait</a></p>
<h2 id="Examples">示例</h2>
<div class="ex" id="ExBasic">
<p><a class="ex_number" href="#ExBasic"></a> 无条件安装键盘钩子.</p>
<pre>#InstallKeybdHook</pre>
</div>

</body>
</html>